Design

For the simulation of the production flow production sites and production processes are defined.

Site in the production

The production processes at the site have access to a site storage. They can take, put, or change parts. In addition, each site has a shipment process. This process ships parts from the site to other sides in need of these parts.

With this basic design and a generic standard production process, most of the production can be already sufficiently described.

Inputs

Three human readable text files describe the ITk pixel production. These files use yaml language and are shipped with the software. They can be changed or extended. All definitions are case sensitive and errors in these files lead to comprehensible error messages, like:

RuntimeError: No process at IZM takes input: Sensor wafer planar

Processes file

The provided processes.yaml defines all production processes, that can be used at the sites. The first 20 lines are:

# Process parameters are defined here. Sites might overwrite these partially (e.g. for higher rate).

Shipping:
   model: simple
   delay: 5  # days

FE wafer production:
   output:
      Itkpix wafer: 25  # output in lots of 25 wafers
   rate:
      - 01.04.2020: 3  # 10% pre-production order (lot 1-3)
      - 01.10.2020: 28  # 90% main order (lot 4-28)
      
Sensor wafer production:
   output:
      Sensor wafer 3D 50 50, Sensor wafer 3D 25 100, Sensor wafer planar: 5

Quad hybrid production:
   output: Common quad hybrid
   rate:

A process definition has a name, an input and/or output. It might define a rate and additional parameters. One can distinguish between 3 processes:

  1. A process that has only outputs is a producer process. It creates parts for the ITk detector from parts that are not tracked. For example, the front-end or sensor wafers are first items and their production process has no input.

    FE wafer production:
      output:
        Itkpix wafer: 25  # output in lots of 25 wafers
      rate:
        - 01.04.2020: 3   # 10% pre-production order (lot 1-3)
        - 01.10.2020: 28  # 90% main order (lot 4-28)
    

The order of 775 front-end wafers happens in two steps, in lots of 25 wafers. The rate parameter depicts a fixed date of non-repeating production runs. On the 01.04.2020 3 runs with 25 wafers each are produced and shipped to a receiving site and on the 01.10.2020 the remaining wafers are produced.

Warning

All dates and quantities are exemplary.

  1. A process that has inputs and outputs is the most common production process. Only when all inputs are available at the site storage the process is run and the output is put back to the site storage. When there is no other process at the site that uses the output it is shipped to the next production site.

    For example, the testing of front-end wafers happens one wafer after another and takes about 48 hours per wafer.

    FE wafer probing:              # name of the process
      input: Itkpix wafer          # input parts required for process
      output: Itkpix wafer tested  # output parts from process
      rate:                        # throuput for the process (parts per time)
        per run: 48h               # average rate; per wafer probing run 48h
    

    The flip chip process for quad modules requires multiple inputs:

    Flip chip quads:
      input:
        Itkpix chip tested: 4
        Planar sensor tested: 1
      output: Bare quad module
      yield: 95%
      rate:
        per week: 10
    

    All inputs must be available at the site storage. A process with a yield created with the propability of (1 - yield) an output that is unfit for the detector. The name of failed parts have a failed suffix. In this example 5% of the quads are Bare quad module failed.

    It is also possible to define a process that can select from multiple possible inputs. The inputs must be seperated by commas:

    Wafer thinning:
      input: Planar wafer, 3D wafer
      output: Thin planar wafer, Thin 3D wafer
    

    The input choises are matched to the output choises, thus a Thin planar wafer is only produced when the input is a Planar wafer. Since no rate is defined this process happens instantly for all Planar wafer or 3D wafer available in the site storage.

  2. A process with only inputs is rare. The detector installation process and the storing of broken parts are the only production processes with inputs only.

Sites file

The provided sites.yaml defines all production sites. The first 20 lines are:

# Sites for the production of input parts
TSMC:
   location: Shanhua, Tainan
   process: FE wafer production
   output:
      Itkpix wafer: 25  # send in lots of 25 wafers
   shipping:  # export liscence requires shipping to CERN
      to: CERN
CNM:
   location: Barcelona, Spain
   process:
      Sensor wafer production:
         rate:
            - 01.04.2020: 10
   output:
      Sensor wafer 3D 25 100: 10

FBK:
   location: Trento, Italy
   process:

A site has a name and at least one process, that must be defined in the site definition. To draw the site on the world map a geographical location must be provided, too. Additionally, site specific process parameters can be defined, that overwrite the process parameters in the processes.yaml.

For example, the wafer testing at Bonn runs at a different rate as defined above (4 wafer probing runs per week). This looks like:

Bonn:
  location: Bonn, Germany
  process:
    FE wafer probing:
      rate:
        per_week: 4

No inputs and outputs are defined here, since they can be deduced from the production process at the site. However, defining them can often make sense. For example, some production processes can choose from different input parts as show above. A site that only accepts one input part can be specified.

Imagine IZM only applies the wafer thinning process defined above to 200 planar wafers. This can be specified as:

IZM:
  location: Berlin, Germany
  process: Wafer thinning
  input:
     Planar wafer: 200
  output:
    Thin planar wafer: 10

After 200 planar wafers are thinned, other thinning sites will receive planar wafers with higher priority. The output is defined with a quantity, too. The quantity specifies the batch size for a shipment. Only when 10 thin wafers are produced a parcel with the 10 wafers is send to the next site. If not output is defined each part is shipped seperately. This is often not realistic.

Parts file

The provided parts.yaml defines all (tracked) production parts that make up the the final ATLAS ITk pixel detector. The first 20 lines are:

# Number of parts to be installed in the final ATLAS ITk pixel detector
# Top down listing; parts consist of sub-parts; break down until smallest not tracked sub-part (e.g. flex Hybrid does not consists of SMD sub-parts)
# 1 MHz design; input from RB table
# Schema: "part name: number of parts"
# Attributes are additional information and enable defining classes of parts to allow grouping/sorting by attribute (e.g. all modules have the attribute module)

# Full detector
Detector:
   Barrel layer flat 0: 1
   Barrel layer flat 1: 1
   Barrel layer flat 2: 1
   Barrel layer flat 3: 1
   Barrel layer flat 4: 1
   Barrel layer rings r0: 1
   Barrel layer rings r1: 1
   Barrel layer rings 2: 1
   Barrel layer rings 3: 1
   Barrel layer rings 4: 1
   End cap layer r05: 1
   End cap layer r1: 1

The information in the parts file is not necessarily required, but allows the calculation of required total parts when assuming process yields. Especially, since total quantities are not necessarily fixed and are a function of the assumed yield.

For example, with the total number of wafers defined in the parts file, one can define the comitment of a site for wafer probing in percent.

Bonn:
  location: Bonn, Germany
  process:
    FE wafer probing:
  input:
    Itkpix wafer: 40%

Outputs

IPPS can create multiple outputs to understand the simulation and to gather information about the production.

Process flow

A process flow diagram is created when running the simulation. This is useful to spot errors in the input definitions and to get a feeling of the processes involved and their interactions.

Production process flow with detail level 0

Since this diagram becomes cluttered quickly, 3 levels of detail are provided:

  1. Only the process names and their interconnections are plotted example

  2. adds part names example

  3. adds the sites who do the process example

Sites flow

A site flow diagram is created when running the simulation. This is useful to spot errors in the input definitions and to get a feeling for the sites and shipments. It is similar to the world map, but also plot sites without location information.

Production site shipments with detail level 0

Since this diagram becomes cluttered quickly, 3 levels of detail are provided:

  1. Only the site names and their shipments connections are plotted example

  2. adds part names to shipments example

  3. adds site storage example

World map

The world map shows all sites in an interactive plot. Hovering over sites gives the input and output parts. Sites without tracked input parts are shown with an open dot. Sites the process parts have filled dots and CERN as a final receiving site is a square. Any view can be exported to png.

Animated world map

The animated world map has the features of the world map plot, but can visualize the site status and shipments at any selected day. Red sites have only idle processes, green sites have at least on running process. Any view at any date can be exported to png.

Note

Plot updates when changing the day take a few seconds.

Report table

The report is a detailed quantitative report using XLSX file format. It contains important information, such as

  • Duty cycle of a site (how long is ideling due to missing parts?)

  • Storage capactity (what is the maximum part quantity the site must store?)

  • Detailed daily status report on all processes at all sites

The file format allows to visualize or analyze the data in other repects.

_images/Report.png